﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using ENTIDADES;

namespace DATA
{
    public class CategoriaDAO
    {
        private static CategoriaDAO instance = null;
        private CategoriaDAO() { }
        public static CategoriaDAO getInstance()
        {
            if (instance == null)
            {
                instance = new CategoriaDAO();
            }
            return instance;
        }

        public List<Categoria> listadoCategoria()
        {
            List<Categoria> lstResultado = null;
            Conexion strCNN = new Conexion();
            SqlConnection cnn = new SqlConnection(strCNN.obtenerConexion() );
            cnn.Open();
            String query = "select idcategoria,descripcion from categoria";
            SqlCommand objComm = new SqlCommand(query, cnn);
            SqlDataReader reader = objComm.ExecuteReader();
            lstResultado = new List<Categoria>();
            while (reader.Read())
            {
                Categoria objCategoria = new Categoria();
                objCategoria.idcategoria = Convert.ToInt32(reader["idcategoria"]);
                objCategoria.descripcion = (reader["descripcion"]).ToString(); ;

                lstResultado.Add(objCategoria);
            }
            cnn.Close();

            return lstResultado;
        }

        public Categoria get(int idCategoria)
        {
            Categoria objCategoria = null;

            Conexion strCNN = new Conexion();
            SqlConnection cnn = new SqlConnection(strCNN.obtenerConexion());
            cnn.Open();
            String query = "select idcategoria,descripcion from categoria where idcategoria=" + idCategoria;
            SqlCommand objComm = new SqlCommand(query, cnn);
            SqlDataReader reader = objComm.ExecuteReader();

            if (reader.Read())
            {
                objCategoria = new Categoria();
                objCategoria.idcategoria = Convert.ToInt32(reader["idcategoria"]);
                objCategoria.descripcion = (reader["descripcion"]).ToString();
            }
            cnn.Close();

            return objCategoria;
        }
    }
}
